#include "Serialize.h"

class Proba : public Serialize{
public:
	Proba(EType Type = type_proba){
		SERIALIZE_INIT(Serialize);
		SERIALIZE(a) = 3;
		SERIALIZE_ID(b) = 3;
		SERIALIZE(c) = 3.0;
	}
	int a;
	short b;
	double c;
	EType _Type;
	static void* getInstance(long wParam, long lParam){
		return 0;
	}
	bool doSerialize(SerializeNS::CSerializer* Buffer){
		return true;
	}
};

struct Test: public Proba{
	Test(EType Type = type_test) : Proba(type_test){
		SERIALIZE_INIT(Proba);
		SERIALIZE(_Name) = 0;
		SERIALIZE(proba);
		SERIALIZE(pproba);
	}
	char* _Name;
	Proba proba;
	Proba* pproba;
};

int main(int argc, char** argv){
	Test t1;

	Proba p;
	Test t;

	CFileArchive* Archive = CFileArchive::openArchive("save.save", true);
	CFileHandler* File = Archive->open("class", true);
	//t1.serialize(File, true);
	return 0;
}
